package q899_orderlyQueue;

import java.util.Arrays;

public class Solution {
    public static void main(String[] args) {
        String s = "abcd";
        int len = 3;
        System.out.println(s.substring(1, len + 1));
    }
    /*
    此题实际上不难考虑：
    首先对于k > 1时 字符串实际上可以排序成任何形式 所以直接排序字符串至最小字典序即可
    而k = 1则比较特殊 此时字符串只能不停替换头部字符 因此可以将一个相同的字符串接到其后
    然后用一个滑动窗口记录不断更新最小字典序的字符串 最后返回答案即可
     */
    public String orderlyQueue(String s, int k) {
        if (k > 1) {
            char[] ans = s.toCharArray();
            Arrays.sort(ans);
            return new String(ans);
        } else {
            int len = s.length();
            s += s;
            String ans = s.substring(0, len);
            for (int i = 0; i < len; i++) {
                String temp = s.substring(i, i + len);
                if (temp.compareTo(ans) < 0) ans = temp;
            }
            return ans;
        }

    }
}
